﻿using System.Collections.Generic;
using System.Linq;
using Rendiciones.Logica.Modelos;
using Tesla.Excepciones;
using Tesla.Proveedores;
using Tesla.Validador;

namespace Rendiciones.Logica.Servicios
{
    public interface IServRoles
    {
        List<Rol> Buscar(int idUsuario);
    }

    internal class ServRoles : IServRoles
    {
        private readonly IProveedor _proveedor;
        private readonly IValidador _validador;

        public ServRoles(IProveedor provedor, IValidador validador)
        {
            _proveedor = provedor;
            _validador = validador;
        }

        public List<Rol> Buscar(int idUsuario)
        {
            try
            {
                var roles = _proveedor.Search(new Rol(), new { IdUsuario = idUsuario }).ToList();
                return roles;
            }
            catch (NoHuboResultadosException)
            {
                return new List<Rol>();
            }
        }
    }
}